#ifndef CAPPSTATEGAME_H_INCLUDED
    #define CAPPSTATEGAME_H_INCLUDED

#include <cmath>

#include "CAppState.h"
#include "CSurface.h"
#include "CFont.h"
#include "CSoundBank.h"

#include "CField.h"

class CAppStateGame : public CAppState {
    private:
        static CAppStateGame Instance;

        SDL_Surface*    Surf_BG;
        SDL_Surface*    Surf_Ball;
        SDL_Surface*    Surf_TopBar;

        TTF_Font*       Font;
        TTF_Font*       FontS;

        int             CubeBoom;
        int             LastTime;

        int             StartTime;

    public:
        bool            Anim;

    private:
        CAppStateGame();

    public:
        void OnMouseMove(int mX, int mY, int relX, int relY, bool Left,bool Right,bool Middle);

        void OnLButtonDown(int mX, int mY);

        void OnKeyDown(SDLKey sym, SDLMod mod, Uint16 unicode);

    public:
        void OnActivate();

        void OnDeactivate();

        void OnLoop();

        void OnRender(SDL_Surface* Surf_Display);

    public:
        static CAppStateGame* GetInstance();
};

#endif // CAPPSTATEGAME_H_INCLUDED
